package cn.stylefeng.guns.modular.business.frequency.ordersub.model.param;

import cn.stylefeng.guns.modular.business.frequency.ordersub.entity.OrderSub;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Description:
 * @Author jzy
 * @Date 2021/7/13 0013
 **/
@Data
public class OrderVO {


    private Long id;

    @ApiModelProperty("公司名称")
    private String companyName;

    @ApiModelProperty("联系人")
    private String linkmanName;

    @ApiModelProperty("联系电话")
    private String linkmanPhone;

    @ApiModelProperty("委托联系人ID")
    private Long linkmanId;

    @ApiModelProperty("出发地code")
    private String startCode;

    @ApiModelProperty("目的地code")
    private String destinationCode;


    @ApiModelProperty("出发地code")
    private String startCodeName;

    @ApiModelProperty("目的地code")
    private String destinationCodeName;

    @ApiModelProperty("收货人")
    private String consigneeName;

    @ApiModelProperty("收货人电话")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private String consigneePhone;

    @ApiModelProperty("提车方式")
    private Integer pickType;

    @ApiModelProperty("送车方式")
    private Integer takeType;

    Integer carNum;

    private String pickLinkmanName;
    private String pickLinkmanPhone;
    private String takeLinkmanName;
    private String takeLinkmanPhone;

    private String pickAddress;
    private String takeAddress;

    @ApiModelProperty("是否加急")
    private Integer hasUrgent;

    @ApiModelProperty("预约提车时间")
    private Date appointPickTime;

    @ApiModelProperty("承运费用")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private BigDecimal transportFee;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private BigDecimal kickbackFee;

    @ApiModelProperty("提车费")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private BigDecimal pickFee;

    @ApiModelProperty("送车费")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private BigDecimal takeFee;

    @ApiModelProperty("总运输费")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private BigDecimal totalFee;

    @ApiModelProperty("开票金额")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private BigDecimal invoiceFee;

    @ApiModelProperty("现付")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private BigDecimal spotPayFee;

    /**
     * 如果是现付：1生成微信二维码 2生成支付宝二维码 3不支付
     */
    private String payType;

    /**
     * openId
     */
    private String openId;

    @ApiModelProperty("欠付")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private BigDecimal backPayFee;

    @ApiModelProperty("到付")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private BigDecimal deliveryPayFee;

    @ApiModelProperty("月结")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private BigDecimal slotPayFee;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("是否有保险费")
    private Integer hasInsurance;

    private String pickAreaCode;

    private String takeAreaCode;

    private String pickAreaCodeName;

    private String takeAreaCodeName;

    @ApiModelProperty("付款方式")
    private Integer[] paymentType;

    private List<OrderSub> orderSubList;

    private String createUserName;

    private Integer canSlotPay;

    private Date createTime;

    private String totalFeeUppercase;

    @ApiModelProperty("运输方式1.公路 2.铁路")
    private Integer transportType;

    public @interface Update{}
}
